﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace UFIDA.U9.Cust.YYD.PlugBE.Dtos
{

    public class WMSPODTO
    {
        public Header header { get; set; } = new Header();
        public List<PODetail> details { get; set; } = new List<PODetail>();
    }

    public class Header
    {
        public string type { get; set; }
        public string factoryCode { get; set; }
        public string supplierCode { get; set; }
        public string orderNo { get; set; }
        public Erpstatus erpStatus { get; set; }
        public Subtype subType { get; set; }
        public string businessDate { get; set; }
        public string deliverDate { get; set; }
        public Buyer buyer { get; set; }
        public Dept dept { get; set; }
        public Srctype srcType { get; set; }
        public Outsourcetype outsourceType { get; set; }
        public int changeTimes { get; set; }
    }

    public class Erpstatus
    {
        public string code { get; set; }
        public string name { get; set; }
    }

    public class Subtype
    {
        public string code { get; set; }
        public string name { get; set; }
    }

    public class Buyer
    {
        public string code { get; set; }
        public string name { get; set; }
    }

    public class Dept
    {
        public string code { get; set; }
        public string name { get; set; }
    }

    public class Srctype
    {
        public string code { get; set; }
        public string name { get; set; }
    }

    public class Outsourcetype
    {
        public string code { get; set; }
        public string name { get; set; }
    }

    public class PODetail
    {
        public POLineDto line { get; set; }
        public List<BomDto> bom { get; set; }
    }

    public class POLineDto
    {
        public string rcvWhCode { get; set; }
        public string lineNo { get; set; }
        public string materialCode { get; set; }
        public decimal demandQty { get; set; }
        public Unit unit { get; set; }
        public string supplierMaterialCode { get; set; }
        public bool present { get; set; }
        public Srctype1 srcType { get; set; }
        public string srcCode { get; set; }
        public Address address { get; set; }
        public string factoryCode { get; set; }
    }

    public class Unit
    {
        public string code { get; set; }
        public string name { get; set; }
    }

    public class Srctype1
    {
        public string code { get; set; }
        public string name { get; set; }
    }

    public class Address
    {
        public string code { get; set; }
        public string name { get; set; }
    }

    public class BomDto
    {
        public string issueWhCode { get; set; }
        public string lineNo { get; set; }
        public string materialCode { get; set; }
        public string erpId { get; set; }
        public decimal demandQty { get; set; }
        public Unit1 unit { get; set; }
    }

    public class Unit1
    {
        public string code { get; set; }
        public string name { get; set; }
    }

}
